package spese.gestore.androidiani;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

/**
 * Questa classe estende Activity e gestisce quella che che è la view del menu
 * opzioni
 * @author Fusinato Lorenzo - Gruppo Androidiani
 */

public class Menu_Opzioni extends Activity {

	ListView OpzioniLv;

	@Override
	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		// Settare il layout principale della pagina
		setContentView(R.layout.layout_menu_opzioni);

		// Associo alla list view il suo id nel layout
		OpzioniLv = (ListView) findViewById(R.id.lV_option_menu);

		// Creo l'adapter popolato con la stringa
		String[] menu_opzioni = getResources().getStringArray(
				R.array.menu_opzioni);
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
				R.layout.menu_option_row, R.id.menu_option_header, menu_opzioni);

		// Ora la list view si prende questo adapter appena creato sopra
		OpzioniLv.setAdapter(adapter);

		OpzioniLv.setOnItemClickListener(new OnItemClickListener() {
			public void onItemClick(AdapterView<?> parent, View v,
					int position, long id) {

				int pos = ((int) id);
				System.out.println("posizione= " + pos);
				switch (pos) {
				case (0): {
					Intent intent_p = new Intent(Menu_Opzioni.this,
							Presa_dati.class);
					System.out.println("preparo intent x presa dati");
					startActivity(intent_p);
					System.out.println("invio intent x presa dati");
				}
					;
					break;

				case (1): {
					Intent intent_1 = new Intent(Menu_Opzioni.this,
							Aggiunta_Categoria.class);
					System.out.println("preparo intent x aggiunta");
					startActivity(intent_1);
					System.out.println("invio intent x agguinta");
				}
					;
					break;

				}
			}
		});

	}

	/**
	 * Quando sul telefono viene premuto il tasto return viene distrutta la
	 * istanza salvata e inviato un null che fa ricaricare il tutto
	 * 
	 * @see android.app.Activity#onResume()
	 */
	public void onResume() {
		onCreate(null);
	}

	/**
	 * Con questo metodo impongo al device che al tasto "back" parta un alert
	 * dialog x chiedere la conferma della chiusura del programma
	 */
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if ((keyCode == KeyEvent.KEYCODE_BACK)) {
			Intent intent = new Intent(Menu_Opzioni.this, Lista_Missioni.class);
			startActivity(intent);
			return false;
		}
		return super.onKeyDown(keyCode, event);
	}

}
// Fine dell'activity'